package cn.math.bit;

/**
 * 位运算进行两数交换
 * 规则：不引入第三个变量
 *
 * @author dunlingzi
 */
public class BitSwap {
    
    public static void main(String[] args) {
        int a = 7, b = 4;
        // 异或操作符交换a、b数值
        // 0111 ^ 0100 = 0011
        a = a ^ b;
        // 0011 ^ 0100 = 0111
        b = a ^ b;
        // 0011 ^ 0111 = 0100
        a = a ^ b;
        System.out.println(a);
        System.out.println(b);
    }
}
